//package com.fly.springbootTemplate.config;
//
//import com.alibaba.druid.pool.DruidDataSource;
//import com.alibaba.druid.support.http.StatViewServlet;
//import com.alibaba.druid.support.http.WebStatFilter;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.boot.web.servlet.FilterRegistrationBean;
//import org.springframework.boot.web.servlet.ServletRegistrationBean;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import java.sql.SQLException;
//import java.util.HashMap;
//import java.util.Map;
//
////druid的配置
//@Configuration
//public class DruidConfig{
//
//    @ConfigurationProperties(prefix = "spring.datasource.druid")
//    @Bean
//    public DruidDataSource druidDataSource() throws SQLException {
//        DruidDataSource dataSource = new DruidDataSource();
//        //加入监控功能,开启防火墙
//        dataSource.setFilters("stat,wall");
//        return dataSource;
//    }
//
//
//    /**
//     * druid
//     * 注册一个StatViewServlet
//     */
//    //因为Springboot内置了servlet容器，所以没有web.xml，替代方法就是将ServletRegistrationBean注册进去
//    //加入后台监控
//    //这里其实就相当于servlet的web.xml
//    @Bean
//    public ServletRegistrationBean statViewServlet(){
//        ServletRegistrationBean bean=new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
//
//        Map<String,String> initParams=new HashMap<>();
//        // 添加控制台管理用户
//        initParams.put("loginUsername","admin");
//        initParams.put("loginPassword","admin");
//        // 添加IP白名单
//        initParams.put("allow","0.0.0.0");//默认允许所有访问
//        // 添加IP黑名单，当白名单和黑名单重复时，黑名单优先级更高
//        initParams.put("deny", "192.168.25.123");
//        // 是否能够重置数据
//        initParams.put("resetEnable", "false");
//        bean.setInitParameters(initParams);
//        return bean;
//    }
//
//    //再配置一个过滤器，Servlet按上面的方式注册Filter也只能这样
//
//    /**
//     * druid过滤器
//     * 注册一个：filterRegistrationBean
//     */
//    @Bean
//    public FilterRegistrationBean webStatFilter(){
//        WebStatFilter webStatFilter = new WebStatFilter();
//        FilterRegistrationBean<WebStatFilter> filterFilter=new FilterRegistrationBean<>(webStatFilter);
//        //添加过滤规则.
//        filterFilter.addUrlPatterns("/*");//拦截所有资源
////        filterFilter.setUrlPatterns(Arrays.asList("/*"));//拦截所有资源
//        //以下资源不拦截*.js,*.gif,*.jpg,*.css等
//        filterFilter.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.css,*.ico,/druid/*");
//        return filterFilter;
//    }
//}
//
//
